package com.ellecity06.cwhiskymall.ui.home

import androidx.fragment.app.Fragment
import com.ellecity06.common.base.view.IUiState
import com.ellecity06.cwhiskymall.bean.response.AppMenuSettingRespone
import com.ellecity06.cwhiskymall.bean.response.SurplusContributionResonse

/**
 * @author ellecity06
 * @time 2024/10/23 11:19
 * @des
 */
sealed class HomeState : IUiState {
    /**
     * 空闲
     */
    object Empty : HomeState()

    /**
     * 请求失败
     */
    object Error : HomeState()

    /**
     * 请求成功
     */
    object Success : HomeState()
    /**
     * 轮播图数据
     */
    data class BannerData(val data: List<AppMenuSettingRespone.SettingWebLayoutVOS.DetailVO>) : HomeState()
    /**
     * 金刚区
     */
    data class CategoryData(val data: AppMenuSettingRespone.SettingWebLayoutVOS) : HomeState()
    /**
     * 新人数据
     */
    data class NewerData(val data: AppMenuSettingRespone.SettingWebLayoutVOS) : HomeState()
    /**
     * 酒神专区数据
     */
    data class DionysusData(val data: AppMenuSettingRespone.SettingWebLayoutVOS.DetailVO) : HomeState()
    /**
     * 酒神专区数据
     */
    data class ShowActivityDialog(val data: AppMenuSettingRespone.SettingWebLayoutVOS.DetailVO) : HomeState()
    /**
     * 自营专区数据
     */
    data class SelfStoreData(val data: AppMenuSettingRespone.SettingWebLayoutVOS) : HomeState()
    /**
     * 商品分类菜单
     */
    data class MenuTabData(val list:List<AppMenuSettingRespone.SettingWebLayoutVOS.DetailVO>,val fragments:MutableList<Fragment>) : HomeState()
    /**
     * 1号广告位
     */
    data class Adv1Data(val data: AppMenuSettingRespone.SettingWebLayoutVOS.DetailVO) : HomeState()

    /**
     * 剩余的可领取贡献值
     */
    data class SurplusContribution(val data: SurplusContributionResonse) : HomeState()

    /**
     * 领取贡献值成功
     */
    object ReceiveSuccess : HomeState()
    /**
     * 领取贡献值成功
     */
    object FetchUserSuccess : HomeState()

}
